<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>ShowFrameNumber / ShowSMPTE Avisynth Filter</title>
<link rel="stylesheet" type="text/css" href="../../avisynth.css">
</head>
<body >
<h2>ShowFrameNumber</h2>
<p><code>ShowFrameNumber </code>(<var>clip, bool &quot;scroll&quot;, int
&quot;offset&quot;, int &quot;x&quot;, int &quot;y&quot;, string &quot;font&quot;,
int &quot;size&quot;, int &quot;text_color&quot;, int &quot;halo_color&quot;</var>)</p>
<p><code>ShowFrameNumber</code> draws text on every frame indicating what number
AviSynth
  thinks it is. This is sometimes useful when writing scripts. If you apply additional
  filters to the clip produced by <code>ShowFrameNumber</code>, they will treat the
  text on the frame just as they would treat an image, so the numbers may be distorted
  by the time you see them.</p>
<p>If <var>scroll</var> (default: false) is set to true the framenumber will be drawn only once
  on the video and scroll from top to bottom, else it will be drawn on the right
  side as often as it fits. For top field first material the framenumber will be
drawn on the left side of the clip, for bottom field first material on the right
side and for field-based material it will be drawn alterning on the left side
and right side of the clip (depending whether the field is top or bottom).</p>
<p>Starting from v2.56
other options (<var>offset</var>, <var>x</var>, <var>y</var>, <var>first_frame</var>,
<var>last_frame</var>, <var>font</var>, <var>size</var>, <var>text_color</var>, <var>halo_color</var>) are present, see <a href="subtitle.htm">Subtitle</a>
for an explanation of these options. <var>offset</var> enables the user to add
an offset to the shown framenumber.</p>
<h2>ShowSMPTE</h2>
<p><code>ShowSMPTE </code>(<var>clip, float &quot;fps&quot;, string
&quot;offset&quot;, int &quot;offset_f&quot;, int &quot;x&quot;, int &quot;y&quot;, string &quot;font&quot;,
int &quot;size&quot;, int &quot;text_color&quot;, int &quot;halo_color&quot;</var>)</p>
<p><code>ShowSMPTE</code> is similar to <code>ShowFrameNumber</code>
but displays SMPTE
timecode (hours:minutes:seconds:frame). Starting from v2.53 the <var> fps</var>
argument is not required, unless the current fps can't be used. Otherwise, the <var> fps</var>
argument is required and must be 24, 25, 30, or 29.97. Starting from v2.56 other options (<var>offset</var>,
<var>offset_f</var>, <var>x</var>, <var>y</var>, <var>first_frame</var>, <var>last_frame</var>,
<var>font</var>, <var>size</var>, <var>text_color</var>, <var>halo_color</var>) are present, see <a href="subtitle.htm">Subtitle</a>
for an explanation of these options. <var>offset</var> enables the user to add
an offset to the timecode, while <var>offset_f</var> enables the user to add
an offset to the timecode specifying the number of frames (<var>offset</var>
takes precedence over <var>offset_f</var>).
</p>
<p>Take care: both filters are due to text-drawing quite slow.
</p>
<p><b>drop-frame versus non-drop-frame timecode</b>
</p>
<p>If the framerate of the clip is between 29.969 and 29.971 <a href="http://teched.vt.edu/gcc/HTML/VirtualTextbook/PDFs/AdobeTutorialsPDFs/Premiere/PremiereTimecode.pdf">drop-frame
timecode</a> is enabled. Originally, when the signal of the TV was black and
white, NTSC run at 60 Hz (30 fps). When they added color, they changed it to
59.94 Hz (29.97 fps) due to technical reasons. They run 1000 frames, but count
1001 (they never actually drop a frame, just a frame number). The first two frames are dropped of every minute except the tenth,
ie 00:00:00:00, 00:00:00:01, 00:00:00:02, ..., 00:00:59:29, 00:01:00:02,
00:01:00:03, 00:01:59:29, 00:02:00:02, 00:02:00:03, ..., 00:08:59:29,
00:09:00:02, 00:09:00:03, ..., 00:09:59:29, 00:10:00:00, 00:10:00:01, etc ...
Counting the dropped frames implies that 00:10:00:00 in drop-frame matches
00:10:00:00 in real time.
</p>
<p><b>Examples</b>
<pre>ShowSMPTE(offset=&quot;00:00:59:29&quot;, x=360, y=576, font="georgia", size=24, text_color=$ff0000)</pre>
<pre># will draw the framenumber on the left side of the clip using an offset of 9 frames, scrolling from top to bottom
Mpeg2Source("clip.d2v") # is always top field first
ShowFrameNumber(scroll=true, offset=9, text_color=$ff0000)</pre>
<p><b>Changes</b></p>
<table border="1">
  <tbody>
    <tr>
      <td>v2.56</td>
      <td>Added offset and other options.</td>
    </tr>
  </tbody>
</table>
<p><kbd>$Date: 2005/10/03 16:49:04 $</kbd></p>
<FORM>
<INPUT TYPE="Button" VALUE="Back"
onClick="history.go(-1)">
</form>
</body>
</html>
